<?
	/* Se asegura que el archivo es incluido por el index */
		defined( 'LOAD_MODULE_ACTION' ) or die( 'No esta permitido el acceso directo a ' . __FILE__ );
	/* Cuando se hace el include del archivo automaticamente crea un objeto y lo guarda en una variable temporal */
		$this->oTmpObject = new Evento_frm( $this );

	class Evento_frm extends Frm
	{
	function setValue ( $ncEvento )
		{
			$cSql = "SELECT ncEvento, cdEvento, ncTipoEvento, ncParticipacion, ncTema, dDesde, dHasta, ncOrganizacion, cSigla, cObjetivo, cPaginaWeb, ncUbicacion, cDonde, cDescripcion, cIntervienen, cPublico
								FROM gtEvento
								WHERE ncEvento = $ncEvento";
			$aRow = $this->oDatabase->getArray($cSql);
			$this->setFieldsArray ( $aRow );
			return $aRow;
		}
	function initializeForm()
		{
			// Configura el Titulo
			$this->setLabel( "Evento" );
			// Si Recibe la Pk => busca los datos
				if ( $this->isRetrievable() && $this->aFields['ncEvento']->getValue() )
				{
					$aRow = $this->setValue( $this->aFields['ncEvento']->getValue() );
				}
			return true;
		}
	function Evento_frm( &$oModule )
		{
			$this->Frm( $oModule );
			//Crea los Objetos de los campos de edicion
			$this->aFields['ncEvento']			= new Input( "Codigo", "ncEvento", '', false, true );
			$this->aFields['cdEvento']			= new InputText( "Nombre",  "cdEvento" );
			$this->aFields['cSigla']					= new InputText( "Sigla", "cSigla" );
			$this->aFields['cPaginaWeb']		= new InputText( "Web", "cPaginaWeb" );
			$this->aFields['ncTipoEvento']		= new InputList( "Tipo", "ncTipoEvento" );
			$this->aFields['ncParticipacion']	= new InputList( "Participacion", "ncParticipacion" );
			$this->aFields['ncTema']				= new InputList( "Tema",  "ncTema" );
			$this->aFields['cPublico']				= new InputCheck( "Publico", "cPublico" );
			$this->aFields['dDesde']				= new InputDate( "Desde", "dDesde" );
			$this->aFields['dHasta']				= new InputDate( "Hasta", "dHasta" );
			$this->aFields['ncOrganizacion']	= new InputLookUp( "Organizador", "ncOrganizacion" );
			$this->aFields['cDonde']				= new InputText( "Donde",  "cDonde" );
			$this->aFields['ncUbicacion']		= new InputList( "Ubicacion", "ncUbicacion" );
			$this->aFields['cObjetivo']			= new InputText( "Mercado", "cObjetivo" );
			$this->aFields['cDescripcion']		= new InputText( "Descripcion", "cDescripcion" );
			$this->aFields['cIntervienen']		= new InputText( "Intervienen", "cIntervienen" );
			$oModAministracion =& loadModule('administracion');
			$oModAministracion->setSubModule('entidades');
			$this->setMultiLanguage();
		}
	function initializeField( $cField , &$oField )
		{
			switch ( $cField )
			{
				case 'cdEvento':
				// Configura el Nombre
					$oField->setMandatory( $this->isMandatory() );
					$oField->setLength(60);
					$oField->setMultilanguage();
				break;
				case 'ncOrganizacion':
					$oField->setForm( $this );
					initializeOrganizacion( $oField );
				break;
				case 'ncTema':
					$cSql = "SELECT ncTema, cdTema FROM gcTema";
					$oField->setLanguage( 'es');
					$oField->setMatrix( $this->oDatabase->getMatrix($cSql) );
					$oModDocumentacion =& loadModule('documentacion');
					$oField->addActionArray( 2, $oModDocumentacion->getActionArray( AGREGAR_GENERICO), 'cModuleTabla=git|gcTema');
					$oField->addActionArray( 3, $oModDocumentacion->getActionArray( MODIFICAR_GENERICO), 'cModuleTabla=git|gcTema' );
				break;
				case 'ncTipoEvento':
					$cSql = "SELECT ncTipoEvento, cdTipoEvento FROM gcTipoEvento";
					$oField->setLanguage( 'es');
					$oField->setMatrix( $this->oDatabase->getMatrix($cSql) );
					$oModDocumentacion =& loadModule('documentacion');
					$oField->addActionArray( 2, $oModDocumentacion->getActionArray( AGREGAR_GENERICO), 'cModuleTabla=git|gcTipoEvento');
					$oField->addActionArray( 3, $oModDocumentacion->getActionArray( MODIFICAR_GENERICO), 'cModuleTabla=git|gcTipoEvento' );
				break;
				case 'ncParticipacion':
					$cSql = "SELECT ncParticipacion, cdParticipacion FROM gcParticipacion";
					$oField->setLanguage( 'es');
					$oField->setMatrix( $this->oDatabase->getMatrix($cSql) );
					$oModDocumentacion =& loadModule('documentacion');
					$oField->addActionArray( 2, $oModDocumentacion->getActionArray( AGREGAR_GENERICO), 'cModuleTabla=git|gcParticipacion');
					$oField->addActionArray( 3, $oModDocumentacion->getActionArray( MODIFICAR_GENERICO), 'cModuleTabla=git|gcParticipacion' );
				break;
				case 'cSigla':
					$oField->setLength(20);
				break;
				case 'cObjetivo':
					$oField->setLength(4098);
					$oField->setMultilanguage();
				break;
				case 'cDescripcion':
					$oField->setMultilanguage();
					$oField->setLength(4098);
				break;
				case 'cIntervienen':
					$oField->setLength(512);
					$oField->setMultilanguage();
				break;
				case 'cDonde':
					$oField->setLength(120);
				break;
				case 'ncUbicacion':
					$cSql = "SELECT ncPais, cdPais FROM acPais";
					$oField->setMatrix( $this->oDatabase->getMatrix($cSql) );
				break;
				case 'cPaginaWeb':
					$oField->setLength(60);
				break;
				case 'cPublico':
					$cSql = "SELECT ncPublico, cdPublico FROM gcPublico";
					$oField->setMatrix( $this->oDatabase->getMatrix( $cSql ) );
					$oField->setMultiple( true );
					if ( $oField->getValue() )
						$this->aFields[cPublico]->setValueArray( explode( ',', $oField->getValue() ) );
				break;
			}
		}
	}
?>